package com.itheima.sh.a_variable_01;
/*
    强制类型转换：大的数据赋值给小的类型
 */
public class Demo05 {
    public static void main(String[] args) {
        //定义整数
        int a=20;
        /*
            注意：在实际开发中强制类型要谨慎使用，有可能会损失精度。强制类型的转换格式：
                   小的数据类型 变量名=(小的数据类型)大的数据
                       byte      b=    (byte)     a;
         */
        byte b=(byte) a;
        System.out.println(a);//20
        System.out.println(b);//20

        /*
            强制类型转换损失精度的问题
         */
        int x=1500;
        //将x转换为byte
        byte y=(byte)x;
        System.out.println(x);//1500
        System.out.println(y);//-36 byte范围是-128到127之间，而x的值是1500，显然不在区间，这里使用了强转类型转换，损失了精度

        double d=1.2345;
        //将d强制转换为int
        int i=(int)d;
        System.out.println(d);//1.2345
        System.out.println(i);//1

    }
}
